.. _ecmSxCtl_SetSvon: ecmSxCtl_SetSvon ===================== .. Hint:: :ref:`ECAT_Appendix_00` 사용 가능 SYNOPSIS -------- .. code-block:: none t_cmdidx ecmSxCtl_SetSvon(_FF)( t_i32 NetID, t_i32 Axis, t_i32 SvonVal, t_i32 *ErrCode ) DESCRIPTION ----------- - 지정한 축의 서보온(Servo-on) 상태를 제어합니다. PARAMETER --------- - NetID : Network 번호 - Axis : 대상 축 번호. - SvonVal : 지정한 축의 서보온(Servo-on) 상태 - ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다. RETURN VALUE ------------ - cmdidx를 반환합니다. CmdIdx는 ComiECAT SDK라이브러리에서 발생시킨 명령들의 일련 번호입니다. 단, 이 값이 0이면 함수 의 수행이 실패했음을 의미합니다. REFERENCE --------- - ecmSxCtl_SetSvon 함수는 서보드라이버에게 서보온 명령을 하달하고 실제 서보온 상태가 변경되는 것을 확인한 후에 반환됩니다. 서보드라이버가 서보온 명령 을 받고 실제로 서보온이 완료되기까지는 일정한 시간이 소요되므로 ecmSxCtl_SetSvon 함수의 수행 시간은 서보드라이버 제품의 특성에 따라서 수백 msec 또는 그 이상의 시간이 걸릴 수 있습니다. - 만일 많은 수의 서보드라이버의 서보온 상태를 일괄적으로 제어하기 위해서 ecmSxCtl_SetSvon 함수를 순차적으로 실행한다면 시간이 많이 소요될 수 있습니다. 이러한 경우에 ecmSxCtl_SetSvon 함수의 Fast Function 모드인 ecmSxCtl_SetSvon _FF 함수를 사용하면 많은 수의 서보온을 일괄적으로 실행할 때에 빠르게 진행시킬 수 있습니다. EXAMPLE ````````````` .. code-block:: cpp :linenos: #define NETID 0 #define NUM_AXES 32 // Axis0의 서보온 버튼 이벤트핸들러 void CMyDlg::OnClick_ServoOn_Axis0() { ecmSxCtl_SetSvon(NETID, 0, true, NULL) } // Axis0의 서보오프 버튼 이벤트핸들러 void CMyDlg::OnClick_ServoOff_Axis0() { ecmSxCtl_SetSvon(NETID, 0, false, NULL) } // 모든축의 서보온 void CMyDlg::OnClick_SevoOn_All() { for(int i=0; i